#ifndef CART_ITEM_H_
#define CART_ITEM_H_

#include <string>
#include <sstream>              //KLB A2
#include <iomanip>				//KLB - SAP3

using namespace std;

struct Cart_item {
public:
        // constructors
        Cart_item () {}
        Cart_item(int cartItem, int cartId, int prodId, int prodQty)    //KLB A2
        {
                cart_item_id = cartItem;                                                                        //KLB A2
                cart_id = cartId;                                                                                       //KLB A2
                prod_id = prodId;                                                                                       //KLB A2
                prod_qty = prodQty;                                                                                     //KLB A2
        }
        
        //Getters
        int item_get()  const {return cart_item_id;}
        int cart_get()  const {return cart_id;}
        int prod_get()  const {return prod_id;}
        int qty_get()   const {return prod_qty;}
        
   // utility functions
        string display() const
        {
                stringstream ss;
                ss << "Cart_item(" << cart_item_id << ","
                        << setw(5) << cart_id << ","		//KLB - SAP3 added setw
                        << setw(7) << prod_id << ","		//KLB - SAP3
                        << setw(3) << prod_qty << ")";		//KLB - SAP3
                return ss.str();
        }

private:
   //constants  

   // private data
        int cart_item_id;
        int cart_id;
        int prod_id;
        int prod_qty;
};


#endif //CART_ITEM_H_